#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2022/11/2 14:54
# @Author  : 招财大龙猫
# @File    : port_server.py
# @Description : tcp server 代理
import json
import socketserver


class Mysite(socketserver.BaseRequestHandler):  # 必须继承socketserver基类

    def handle(self):  # 重写基类里的handler()方法，在这个方法里处理接收、发送请求
        while True:
            recv_data = self.request.recv(1024)
            data = json.loads(recv_data.decode())  # 为什么用json?，因为我喜欢。。这包装数字、字符、列表等等数据类型通吃
            print(data)

            if data.lower() == "exit":  # 检测到exit退出
                print("客户端退出！")
                break

            self.request.send(json.dumps(data.lower()).encode())  # 发送转换小写的数据给客户端，然后进入到下一个循环



if __name__ == '__main__':
    my_server = socketserver.ForkingTCPServer(ForkingMixin, TCPServer)
    # TCPServer(("localhost", 9999), Mysite)  # 实例化socketserver，并传送服务器ip、port和子类
    my_server.serve_forever()
